package com.qckj.amz.service;

import com.qckj.amz.domain.ProductAmzUploadTask;
import com.qckj.common.core.domain.AjaxResult;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 上传任务Service接口
 *
 * @author luchuan
 * @since 1.0 2022-11-25
 */
public interface IProductAmzUploadTaskService  {
    /**
     * 查询上传任务
     *
     * @param id 上传任务ID
     * @return 上传任务
     */
    ProductAmzUploadTask findById(Long id);

    /**
     * 分页查询上传任务列表
     *
     * @param req 上传任务
     * @return 上传任务集合
     */
    Page<ProductAmzUploadTask> findProductAmzUploadTaskPage(ProductAmzUploadTask req);

    /**
     * 查询上传任务列表
     *
     * @param req 上传任务
     * @return 上传任务集合
     */
    List<ProductAmzUploadTask> findProductAmzUploadTaskList(ProductAmzUploadTask req);

    /**
     * 新增上传任务
     *
     * @param productAmzUploadTask 上传任务
     * @return 结果
     */
    void save(ProductAmzUploadTask productAmzUploadTask);

    /**
     * 批量删除上传任务
     *
     * @param ids 需要删除的上传任务ID
     * @return 结果
     */
    void deleteByIds(List<Long> ids);

    /**
     * 删除上传任务信息
     *
     * @param id 上传任务ID
     * @return 结果
     */
    void deleteProductAmzUploadTaskById(Long id);

    /**
     * 重新上传
     * @param ids   上传任务主键
     * @return
     */
    AjaxResult uploadTask(List<Long> ids);

    /**
     * 获取上传报告
     * @param ids
     * @return
     */
    AjaxResult getUploadFeedsReport(List<Long> ids);

}
